連載 / プログラマー入門ー など、はとんど意床のない場合もあります。ここでは説明 のために使ってみましたが、 With 文の恩恵がない場合も あることに注意してください。 話をホームページへのリンクに戻しましよう。この点 では、まだ、、ホームページ " はたんなる文字列で、リンク にはなっていません。リンクを作るには、 リンクの囲をキ諚し、が所持しているリンクの集合にそれを 0 追加する という処理が必要です。これをおこなっているのか次のコ UNIX MAGAZINE 1998.4 3. DOC 形式のファイルを HTML 形式で保存します。 タンをクリックします。 文書 (Normal.dot)" のままにしておきます。 [OK] ポ ます ( 図 (1)0 、、マクロの保存先 ( S ) : " は、、、すべての で、、マクロ名 ( 邀 ) : " に「 SaveAsHTML 」と入力し 2. 、マクロの言当求 " ダイアログ・ポックスが表示されるの す。 マクロ窈求 ( 旦 )... " を選び、マクロの言当求を開始しま 1. メニューの、、ツール ( 工 ) " →、、マクロ ( 邀 ) " →、、新しい ます。 グラミングに行き詰まったときの足掛りとして利用でき は、 Visual Basic のコードとして保存されるので、プロ るマクロ機能があります。マクロで記録された操作手順 Word にも ExceI と同様、操作手順を言当求して再生す です。 ュアルとマクロを利用した、、見様見真似プログラミング " せん。そんなときにお勧めしたいのが、オンライン・マニ り膨大てすし、マニュアルのサンフ。ルコードは役に立ちま のどこかにはあるのかもしれませんが、目次だけでもかな パラメータはみつけられませんでした。まあ、マニュアル っかります。しかし、 SaveAs て指定するファイル形式の ファイル形式を変換して保存する SaveAs メソッドがみ 説明しましよう。マニュアルを調べ川ま、上交的簡単に 次は、 DOC 形式の文書を HTML に変換する方法を HTML ファイルに変換する Address : ="http : //ara—note. xxxxx. co. jp/' ActiveDocument. Hyper1inks. Add Anchor : =Range , 図 11 、マクロの言第ダイアログ・ポックス S•veAsHTMLl ロの記 / 02 ハ 4 の保存先すべての文書 (Norma'doÖ ツールハ・一キーお、 - トまー亠 」を評」当そる」こ第二 ! ユ OK 図 12 記金了 " ダイアログ・ポックス 図 13 Microsoft Visual Basic 工デイタ 』つ月 (E) 編第 0 表示Ⅳ ) 挿入の書式 0 テガ 0 実行⑧ツーつイントつア 』新・ 2 年は 1 を「ト・を轡印 - に一 0 、 0 凵引日み s に - 「をれ行引ー第” M 諸 05 ( コート月 第同ロ ( Ge ”“物 D 冂”ふロ S 物。 A 、日 TM し HTML (HtmD 国 第 - 2 」 M ′。第 0 代物 ) 、 ・物モシなール 当 P ′。 jec を ( W ・、 由 0 参照定 言 5 リ b SaveAsHTML ( ) Save 食 sHT 材し M00 「 0 記日 98 / 02 / 14 紀録 F ロ 0F0 「第物 t. = 1 を Act i eDocu ■ 0 れ t 5 ・ 0 真を F ⅱを N ・第を = 物 0b0 ・要 0. htm に LockCo 第第 ~ れ t ミ : = F 引釚 P ョ s ー響 0 「 d ・ Re ョ司田 0C0 第第月 ded 声 F 引を E 第 bedT 「リ eTyp 0 れ ts : = 「引 SaveNat ⅳを円 ct リ′ 0F0 「第 at •=Fa は 0. Sa Fo 「第 30 0 : ニ F 引 3. Sav F 引を色 4. 冬了 " ダイアログ・ポックス ( 図 12 ) の・ボタン End S リト する部分を作ります。ここでは必頭のパラメータ以外は無 SaveAsHTML マクロを参考にして、ファイルを保存 HTML ファイルの保存と読込み ます。 があれは、見様見真似でもなんとかプログラミングができ このように、マクロの当求とオンライン・ドキュメント HTML ファイルのファイル形式刎直が分かりました。 の値として、、 107 " を渡しています。これで、求めていた このコードを見ると、 SaveAs メソッドには FileFormat リスト 4 に、当求されたマクロのコードを示しました。 側に VisuaI Basic のコードが表示されます ( 図 13 ) 。 ル " にある、、 NewMacros" を選びます。ウインドウの右 左側のプロジェクトのなかから、、 Normal" の、モジュー い。 Microsoft Visual Basic 工デイタか表示されるので、 ( 邀 ) " →、、 Visual Basic Editor (Y)" を選択してくださ 表示させるには、メニューの、、、ツール ( 工 ) " →、、マクロ するマクロカ当求されました。 Visual Basic のコードを これで、 DOC 形式の文書を HTML ファイルに変換 をクリックして、マクロの言当求を終了します。 視して、 149
End Sub HTML 変換プログラム 前回と同じ調子で、、すんすん " 作ったのが、リスト 3 の プログラムです。内容を説明しましよう。このプログラ ムは、 ・前半は Web ページをカスタマイズするコード ・後半は HTML ファイルに変換するコード という構造になっています。 プログラムの麪頁では、文書の背景のイメージを設定し ています。 ActiveDocument . Background. Fi11. UserTextured TextureFiIe : ="C : *unimaga*Leaves. gif ” は、、 C:*unimaga*Leaves. gif' のパターンを繰り返す背 ・半透明の色を表示する。 ・指定した色のグラデーションにする。 ・指定した色にする。 表示する。 ・指定したイメージファイルを ( 繰り返さすに ) 1 つだけ のような背景にすることもできます。 景を設定します。 Background の設定を変更すれば、 次 148 Set Range = ActiveDocument . Range ( 0 , 0 ) べるといくぶん複雑なコードが必要になります。ます、 ホームページへのリンクを作るには、背景の設定にくら 連載 / プログラマー入門ー リスト 3 HTML 変換をカスタマイズするプログラム Sub ConvertHTML ( ) Dim filename As String ' 背景イメージを設定する ActiveDocument . Background. Fi11. UserTextured TextureFiIe : ="C : *unimaga%Leaves . gif " しかし、こ刎列 ActiveDocument . SaveAs filename : =filename , Fi1eFormat : = 107 ' H L 形式で保存 filename = InputBox ( " ファイル名を入力してください” ) ) ファイル名を指定 ActiveDocument . Hyper1inks . Add A Ⅱ c 0 て : =Range , Address : ="http : //ara-note . xxxxx ・ co ・ jp/' End With . InsertBefore " ホームペーン . InsertParagraphBefore W ith Range Set Range = ActiveDocument . Range ( 0 , 0 ) ' ファイルの先頭にホームページへのリンクを挿入する で、文書の 0 文字目から 0 文字目の範囲、つまり文書の 地頁を Range 変数に設定します。続けて、 With Range . InsertParagraphBefore . InsertBefore " ホームペーン End With と同しです。 With 文を使うとオプジェクト名を省略でき Range . InsertBefore " ホームペーン Range . InsertParagraphBefore クトのメソッドを実行します。このコードは、 With Object ・ ・ End With" は、 Object オプジェ し、その段落に文字列、、ホームページ " を挿入します。 というコードで、 : 頁の Range の直前に段落を 1 つ挿入 のように というご利益があることになっています。 ・実行速度が速くなる ・コードの記述量を減らせる るので、 UNIX MAGAZINE 1998.4 かしかない 全体の実行時間に対して With 文で稼げる時間はわす 文字書いている ・ Range" を 2 回 ( 10 文字 ) 書くのをサポるために、 18
連載 / プログラマー入門ー 図 8 目次て頁目を探す 目次い日 。の、幸も v 辷、朝 E にリ ) アしンス Ac ! ん・ 000 リ n ・ 探ノた、・ ) 最 ~ 嬲 ) 何文字かを入力してくた朝 比。ッうの横常物朝 05 。朝リ引日ョ 5 にリコアしシス 目次キ円一ト ' 図 9 キーワードを使った ′ u 引謔の、、雪 M 朝。第。代 F オづジェクトリフアしンス ◆ M ” F33 問発羇 ^ 、びた : 外 ◆ M ⅸ”。 F デザインリフアしンス ◆ M 朝 0 代ー・ V ・日“にリファレンス ◆ v 朝 8 ” ~ プログラミング 0 たント ◆ V ・」 8 ”ランゲージリファレンス ◆ M00 , 0 W«d Ⅵ , リ日”あリフアしンス ◆ 本 ! ~ みー宝を 0 を男めするか、は一ワート 1 なと + ト翅加ぞ刊を気是ま第 ~ や , 、 ! ルにい 0 : リ ! 朝にノト」 : : -1- 当 - A 。・ x オブジェクト : ActiveWit«Style プロバティ A 。をⅳ・物新プロティ Act ⅳ・・第・よリ sD 期 1 第 y プロ月ティ Acfr ~ S 0 朝第、・プロハティ A 。・ R 純 d プロバティ Ac をⅣ・ P ′ー物プロ } ーティ 宅 Ac を・ P 第・プロ ) ーティ - Ae をⅳ「」日都づロバティ Act ⅳ・汁ゆト・ n 載 y プロバティ Ac ー ~ ・物 mm O に一第 y プロ丿、丁ィ Actr ノ・ C リ引 0E0 にを 20 「 ActiveDocument ってなんやねん ? 」 の登場です。ヘルプメニューから、、 Microsoft word Vi- そこで、オンラインの、、 Visual Basic リファレンス ' ません。 などか理解できていないと、プログラムを作ることができ 「たくさん並んだパラメータの意味はなんやろ」 「 SaveAs メソッドって何をするもんやろねえ」 sual Basic リファレンス " を表示させ、 、、キーワード " タフて検索する ( 図 9 ) 、、目次 " タブで関連項目を探す ( 図 8 ) の 2 通りのガ去で、ドキュメントを探すことかできます。 図 10 カスタマイズした HTML ファイル ファイル ( り編印表示 ) 挿入の書式 0 クーえ都第ンフ・ 」 : [ D 日。母 : の竈づ ~ を , イ、第 ルに′ 0 0 V 物ーよ、立ら寄るべーシ 、 MS 日臓 よく立ち寄るべージ、・ ASTEC のホームページぃ あらら一・こりやりゃーサロン・ , 、やばり自分とこは一番よく立ち寄る ( 仕事オんね ) 。 同ロ」 を , 第 わたくしには、コンピュータ業界とはあまり関係のない兄弟がいる。この兄が最 龜、 W にはまってしまったらい、。妻とふたりでせっせと旅行記なを ) のを公開を 0 ・オプジェクト名 ・メソッド名 ・フロノヾティ名 などのドキュメントを探す場合は、 るのがよいでしよう。 UNIX MAGAZINE 1998.4 キ ーワード検索で評ヾ リファレンス・マニュアルには、個々のオプジェクト などの説明のはかに、 上位や下位のオプジェクト ・ロノヾアイ ・メソッド ・イベント ・勵里項目 ・使用例 ・対象 ・アプリケーション情報 とにします。 するときに、レイアウトに以下のような要素を追加するこ 今回の例では、 DOC 形式の文書を Web ページに変換 Web ページに加える要素 の世界の構造がみえてくるでしよう。 リンクを使ってジャンプを繰り返しているうちに、 word しつは、このリンクが意外と役に立ってくれるのです。 る情報に簡単に飛んでいけるようになっています。 などの・情を、、のリンクのリストが用意されており、関係す を背景に設定する。 ・ツタの葉莫様のイメージ (C:*unimaga*Leaves. gif) ・ファイルのう曰頁行にホームページへのリンクを加える。 図 10 は、上記の要素を加えた Web ページのサンフ。ル ようにします。 HTML ファイルのファイル名は、ユーサーカ甘旨定する です。 147